﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace QL_DonDatHang
{
    public partial class Form_ThaoTac : Form
    {
        SqlConnection database = new SqlConnection(@"Server=DESKTOP-COHCEFP; Database=QL_BANHANG_GIOCHA; Integrated Security=True");
        public Form_ThaoTac()
        {
            InitializeComponent();
        }
        public void hienthi()
        {
            database.Open();
            string sql = "select *From QL_DONDATHANG";
            SqlCommand cmd = new SqlCommand(sql, database);
            SqlDataReader dr = cmd.ExecuteReader();
            DataTable dt = new DataTable();
            dt.Load(dr);
            dataGridView1.DataSource = dt;
            database.Close();
        }
        public Boolean checkTenMH(string tenmh)
        {
            database.Open();
            SqlDataAdapter temp = new SqlDataAdapter("Select * From QL_MATHANG", database);
            DataTable tb = new DataTable();
            temp.Fill(tb);
            for (int i = 0; i < tb.Rows.Count; i++)
            {
                if (tb.Rows[i][0].ToString().Trim().Equals(tenmh) )
                {
                    database.Close();
                    return true;
                }
            }
            database.Close();
            return false;
        }
        private void textBox1_TextChanged(object sender, EventArgs e)
        {

        }

        private void label6_Click(object sender, EventArgs e)
        {

        }

        private void label5_Click(object sender, EventArgs e)
        {

        }

        private void Form_ThaoTac_Load(object sender, EventArgs e)
        {
            hienthi();
        }
        public void them()
        {

            database.Open();
            SqlCommand cmd = new SqlCommand("THEM", database);
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.AddWithValue("@soluong", txtSoLuong.Text);
            cmd.Parameters.AddWithValue("@ngaydat", NgayDat.Value);
            cmd.Parameters.AddWithValue("@ngaygiao", NgayGiao.Value);
            cmd.Parameters.AddWithValue("@tenkh", txtTenKhachHang.Text);
            cmd.Parameters.AddWithValue("@tenmh", txtTenMatHang.Text);
            //  cmd.CommandType = CommandType.StoredProcedure;
            cmd.ExecuteNonQuery();
            database.Close();
        }
        private Boolean checksonguyen( string s)
        {
            int n = 0;
            if (int.TryParse(s, out n))
                return true;
            else return false;

        }
        private void button1_Click(object sender, EventArgs e)
        {
            if (txtSoLuong.Text.ToString().Equals("") || txtTenMatHang.Text.ToString().Equals("") ||
                txtTenKhachHang.Text.ToString().Equals(""))
                MessageBox.Show("Nhập đầy đủ dữ liệu ", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
               else 
                  if(checksonguyen(txtTenKhachHang.Text)==true)
                    MessageBox.Show("Tên Khách Hàng Phải Bằng Chữ ", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                  else if(checksonguyen(txtSoLuong.Text)==false)
                MessageBox.Show("Nhập đúng số lượng. Bằng số ", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
            else
                     if(checkTenMH(txtTenMatHang.Text.ToString())==false)
                      MessageBox.Show("Tên mặt hàng không tồn tại","Thông báo",MessageBoxButtons.OK,MessageBoxIcon.Error);
                     else
               {
                them();
                MessageBox.Show(" Thêm thành công", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                hienthi();
              }

        }
        public void suadondathang()
        {
            database.Open();
            SqlCommand cmd = new SqlCommand("SuaDonDatHang", database);
            cmd.CommandType = CommandType.StoredProcedure; 
            int id= (int)dataGridView1.CurrentRow.Cells["cl_id"].Value;
            cmd.Parameters.AddWithValue("@id", id);
            cmd.Parameters.AddWithValue("@tenkh", txtTenKhachHang.Text);
            cmd.Parameters.AddWithValue("@soluong", txtSoLuong.Text);
            cmd.Parameters.AddWithValue("@ngaydat", NgayDat.Value);
            cmd.Parameters.AddWithValue("@ngaygiao", NgayGiao.Value);
            cmd.Parameters.AddWithValue("@tenmh", txtTenMatHang.Text); 
            cmd.ExecuteNonQuery();
            database.Close();
        }
        private void button2_Click(object sender, EventArgs e)
        {
            try
            {
                if (txtSoLuong.Text.ToString().Equals("") || txtTenMatHang.Text.ToString().Equals("") ||
                     txtTenKhachHang.Text.ToString().Equals(""))
                    MessageBox.Show("Nhập đầy đủ dữ liệu", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                else

                    if (checkTenMH(txtTenMatHang.Text.ToString()) == false)
                    MessageBox.Show("Tên mặt hàng không tồn tại", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                else
                 if (checksonguyen(txtTenKhachHang.Text) == true)
                    MessageBox.Show("Tên Khách Hàng Phải Bằng Chữ ", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                else if (checksonguyen(txtSoLuong.Text) == false)
                    MessageBox.Show("Nhập đúng số lượng. Bằng số ", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
              else   {
                    suadondathang();
                    MessageBox.Show("Sửa đổi thành công", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    hienthi();
                }
            } catch (Exception)
            { MessageBox.Show("Chọn Dữ Liệu Cần Sửa", " Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
        public void xoadonhang()
        {
            database.Open();
            SqlCommand cmd = new SqlCommand("XoaDonHang", database);
            cmd.CommandType = CommandType.StoredProcedure;
            int id = (int)dataGridView1.CurrentRow.Cells["cl_id"].Value;
            cmd.Parameters.AddWithValue("@id", id);
            cmd.ExecuteNonQuery();
            database.Close();
        }
        private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            txtTenKhachHang.Text = Convert.ToString(dataGridView1.CurrentRow.Cells["cl_tenkhachhang"].Value);
            txtTenMatHang.Text = Convert.ToString(dataGridView1.CurrentRow.Cells["cl_tenmathang"].Value);
            txtSoLuong.Text = Convert.ToString(dataGridView1.CurrentRow.Cells["cl_soluong"].Value);
            //NgayDat.Value = dataGridView1.CurrentRow.Cells["cl_ngaydat"].Value;
        // NgayGiao.Value = Convert.ToString(dataGridView1.CurrentRow.Cells["cl_ngaygiao"].Value);
            NgayDat.Value = Convert.ToDateTime(dataGridView1.CurrentRow.Cells["cl_ngaydat"].Value);
            NgayGiao.Value = Convert.ToDateTime(dataGridView1.CurrentRow.Cells["cl_ngaygiao"].Value);
          
        }

        private void button3_Click(object sender, EventArgs e)
        {
            try
            {
                xoadonhang();
                MessageBox.Show("Xóa Đơn Hàng Thành Công", " Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                hienthi();

            }
            catch (Exception )
            {
                MessageBox.Show("Dữ liệu rỗng", " Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

           
            }

       

      
     }
}
